package i_sort;

public class BinarySearch {
    public static void main(String[] args) {

    }

    //找出在arr数组中 对应的 data数据
    public static int binarySearch(int[] arr,int data){
        //1.定义两个变量,一个记录左边位置,一个记录右边位置
        int left = 0;
        int right = arr.length - 1;
        //2.定义一个循环控制折中选择
        while(left <= right){
            //3.每次折半,都算出中间位置的下标
            int mid = (left + right) / 2;
            //4.判断当前要找的元素之, 和 中间位置的元素的对比
            if (data < arr[mid]){
                //往左边找
                right = mid - 1;
            }else if (data > arr[mid]){
                //往右边找
                left = mid + 1;
            }else {
                return mid;
            }
        }
        return -1;//则是认为数组中没有我们要寻找的数据.
    }
}
